// axios 通用请求工具：开发环境走 devServer 代理；生产环境直连后端并移除 /api 前缀
// 开发环境：/api/* 由 devServer 代理到 http://127.0.0.1:9999，并通过 pathRewrite 去前缀
// 生产环境：直接访问 http://127.0.0.1:9999，并在发送前移除 /api 前缀

import axios from 'axios'

const isProd = process.env.NODE_ENV === 'production'

const instance = axios.create({
  baseURL: isProd ? 'http://127.0.0.1:9999' : '',
  headers: { 'Accept': 'application/json' },
})

// 生产环境移除 /api 前缀（开发环境由 devServer 处理）
instance.interceptors.request.use((config) => {
  if (isProd && config.url && config.url.startsWith('/api/')) {
    config.url = config.url.replace(/^\/api\//, '/')
  }
  return config
})

export async function apiGet(path, config = {}) {
  const url = path.startsWith('/') ? path : `/${path}`
  const res = await instance.get(url, config)
  return res.data // { code, msg, data }
}

export default instance